1. Field of the Invention
This invention relates to multicast transmission of information across a data network. More particularly this invention relates to an improved caching technique for use in multicasting over a data network.
2. Description of the Related Art
The push model for distributing data over the Internet and other client server networks has become more widespread in recent years. In modern versions of this model a server “multicasts” data to an interested subset of clients on the network, known as a “multicast group”. Whoever is interested becomes a listener by joining the group.
By their nature, push applications are closer to the broadcasting paradigm of radio and television than to the interactive paradigm of the World Wide Web. As such, broadband networks, such as cable TV or satellite, can be used as a very efficient medium for the transmission of “pushed data”. Unfortunately, currently these networks are one-way only. That is to say, data such as a television program is sent from a broadcasting facility (the head-end) to several receivers (end-users) without any feedback. As such, these networks are inappropriate for popular interactive push applications since the latter require a return channel. Although attempts to upgrade the current public network infrastructure are underway in several places around the world, it will take some years until reliable two-way broadband networks are commonplace and therefore, a mechanism for multicasting over one-way broadband networks is desirable.
Caching systems have been developed to improve the efficiency of data transmission across the internet. Current internet caching systems, however, are based on the unicast TCP/IP transport protocol. Various technical issues have impeded the development of caching systems adapted to multicast transmission. Using the unicast transport protocol, a document is required to be delivered separately to each requesting client of the cache. For example, when two clients request the same documents simultaneously, or within a short interval, the cache transmitter is required to read the document twice, and send it twice. Consequently the resources of both the cache transmitter and the internet are used inefficiently.
The document, Reliable Multicast Transport Protocol, Shioshita, Teruji et al., Draft Document for the 37th IETF, Feb. 7, 1997, proposes a transport control mechanism to enable reliable multicast data transfer to a large number of receivers on a TCP/IP network from a server in parallel. This protocol promotes short delivery time, as the data is transferred only once, and conserves bandwidth because only one copy of the data is sent to the server. It has the advantage of requiring only a single session regardless of the number of receivers. However, despite some optimizations, there remains a requirement for receiver confirmation by ACK/NAK responses and the retransmission of data to selected receivers based on the information associated with the NAK response are disadvantages, as large numbers of receivers issuing ACK/NAK responses can still cause network congestion.
Another known multicast transport protocol is proposed in Starburst Multicast File Transfer Protocol(MFTP) Specification. Miller, K. et al., Internet Draft, April 1998. This protocol operates in the Application Layer.
In copending U.S. Pat. No. 6,507,586, of common assignee herewith, and hereby incorporated by reference, a technique of IP multicasting over existing broadband networks without using a return link is disclosed. This technique allows the issues of multicast group membership and error detection and recovery to be handled locally within an end-user terminal, without need for returning data to a host. According to the technique a single data transmitter sends a group of data items to a subset of possible receivers over a one-way channel. Each data item is divided into blocks which are encapsulated to form datagrams, each including a block sequence number, a data item identifier, and a timestamp indicating the age of the data item. A group directory is regularly sent by the transmitter to each of the possible receivers. The group directory contains information for all groups of data items, enabling each receiver to select the group of data item it wishes to receive. Reliability is provided by periodic retransmission of missing data. Despite these advantages, significant problems remain.